﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
 * 版权所有 (c) 2022 北京超维景生物科技有限公司 保留所有权利。
 * 
 * 创建者：huangyang
 * 电子邮箱：huangyang@tvscope.cn
 * 创建时间：2023/2/21 11:51:27
 * 版本：V1.0.0
 * 描述：
 *
 * ----------------------------------------------------------------
 * 修改人：
 * 时间：
 * 修改说明：
 *
 * 版本：V1.0.1
 *----------------------------------------------------------------*/
#endregion << 版 本 注 释 >>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ImageK.Gui;

namespace ImageK.Plugin.Tool
{
    public class PlugInTool:PlugIn
    {
        public void run(string arg)
        {
            ToolBar.addPlugInTool(this);
        }

        // public void mousePressed(ImagePlus imp, MouseEvent e) { e.consume(); }
        //
        // public void mouseReleased(ImagePlus imp, MouseEvent e) { e.consume(); }
        //
        // public void mouseClicked(ImagePlus imp, MouseEvent e) { e.consume(); }
        //
        // public void mouseDragged(ImagePlus imp, MouseEvent e) { e.consume(); }
        //
        // public void mouseMoved(ImagePlus imp, MouseEvent e) { }
        //
        public void mouseEntered(ImagePlus imp, EventArgs e) {  }
        //
        // public void mouseExited(ImagePlus imp, MouseEvent e) { e.consume(); }
        //
        // public void showPopupMenu(MouseEvent e, Toolbar tb) { }

        /** Return the tool name. */
        public string getToolName()
        {
            return this.GetType().Name.Replace('_', ' ');
        }

        /** Return the string encoding of the tool icon. See
			http://rsb.info.nih.gov/ij/developer/macro/macros.html#icons
			The default icon is the first letter of the tool name.
		*/
        public string getToolIcon()
        {
            string letter = getToolName();
            if (letter != null && letter.Length > 0)
                letter = letter.Substring(0, 1);
            else
                letter = "P";
            return "C037T5f16" + letter;
        }

        public void showOptionsDialog()
        {
        }

        /** These methods are overridden by MacroToolRunner. */
        public void runMacroTool(string name) { }
        public void runMenuTool(string name, string command) { }
        // public Program getMacroProgram() { return null; }
	}
}
